Skip to main content

Introduction

Recommended Prerequisites

About This Guide

This site is meant to be a comprehensive guide for all things software in FTC robotics, covering everything from beginner to highly advanced topics.

Our team noticed that in order to build a control system, teams must scavenge the internet from a multitude of sites to gain the necessary knowledge. To fix this issue, this guide will provide a one-stop shop to assist teams in constructing a solid control system. We accomplish this by not only providing our own explanation of a topic but by also linking several external resources which may be more comprehensive than the guide alone; thus giving you more time to actually learn the topic rather than finding resources.

To support teams in advancing their already established control systems, we have developed modules that delve into the theory and implementation of the more advanced software topics in FTC robotics.

Aside from understanding these topics, having the ability to implement these topics through code is essential to constructing a solid control system. Because of this, we provide implementations of every topic covered in the guide so that you can easily integrate these ideas into your control system. Moreover, we will extensively make use of case studies where we look into the software behind the robots of top teams by linking their demonstration videos as well as their code implementations.

How to Use This Guide

  • At the top of most modules, there is a list of prerequisites that you should know before attempting to make sense of what is in the current module. All of the prerequisites point to other modules within the guide (living up to its one-stop-shop nature 😉 )
  • We will also provide a table of external resources that you should read before proceeding which may provide essential background knowledge before we expand on the topic at hand.
  • Read our explanation of the topic which may only expand on the background information provided to avoid redundancy.
  • Every topic provided will be paired with a code implementation, showing you can integrate the concept into your control system. Beyond this, we may also take a look at applications of this topic used by top FTC teams by linking their demo videos as well as their code bases so that you can take a look at what goes into building the software of a world-class robot.
  • Typically, at the end of the module, we will provide an exercise that will test your knowledge of the topic, typically through a code implementation, and provide the solution to the exercise.

Asking for Help

An important aspect of being successful in FTC robotics is not being afraid to ask for help when stuck with a problem or confused about a topic. Here are some helpful forums where you can ask for assistance and receive aid from experienced programmers: